<template>
  <div>
    <!-- 详情 -->
    <Info
      v-for="(item, index) in records"
      :key="index"
      v-show="isShow"
      @close="closeFn"
      :date="date"
      :doctor="doctor"
      :diagnosis="diagnosis"
      :prescription="prescription"
      :show="isShow"
    />
    <!-- 表格 -->
    <Table v-for="(item, index) in arr"
      :key="index" :date="item.date" :doctor="item.doctor" :diagnosis="item.diagnosis"
      :prescription="item.prescription" @openInfo="clickFn()" />
      
      <!-- 获取输入内容，绑定keyup事件 -->
    <input placeholder="输入关键字搜索" v-show="myShow" v-model="keyword" @keyup.enter="search(keyword)" />
    <table class="my-table" v-show="myShow">
      <thead>
        <tr>
          <th>就诊日期</th>
          <th>医生姓名</th>
          <th>诊断结果</th>
          <th>处方信息</th>
          <th>操作</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(item, index) in records" :key="index">
          <td>{{ item.date }}</td>
          <td>{{ item.doctor }}</td>
          <td>{{ item.diagnosis }}</td>
          <td>{{ item.prescription }}</td>
          <td><a href="#" @click.prevent="clickFn(index)">详情</a></td>
        </tr>
      </tbody>
    </table>
  </div>
</template>

<script>
import Info from './components/Infoes.vue'
import Table from './components/tables.vue'
export default {
  components: {
    Info,
    Table,
  },
  methods: {
    clickFn(i) {
      this.isShow = true
      this.date = this.records.at(i).date
      this.doctor = this.records.at(i).doctor
      this.diagnosis = this.records.at(i).diagnosis
      this.prescription = this.records.at(i).prescription
    },
    closeFn() {
      this.isShow = false
    },
    search(k){
      this.arr.push(this.records.find(item=>{
        return k == item.date || k == item.doctor || k == item.diagnosis || k == item.prescription
        }));  
        this.myShow = false
    }
  },
  data() {
    return {
      isShow: false,
      // 搜索框
      keyword:'',
      // 关键字匹配后数组接收
      arr:[],
      // 数据回显
      date: '',
      doctor: '',
      diagnosis: '',
      prescription: '',
      myShow:true,
      records: [
        {
          date: '2022-01-01',
          doctor: '张三',
          diagnosis: '感冒',
          prescription: '感冒药',
        },
        {
          date: '2022-02-01',
          doctor: '李四',
          diagnosis: '头疼',
          prescription: '止疼药',
        },
        {
          date: '2022-03-01',
          doctor: '王五',
          diagnosis: '腰痛',
          prescription: '止痛贴',
        },
      ],
    }
  },
}
</script>

<style scoped>
.my-table {
  border-collapse: collapse;
  width: 100%;
}

.my-table td,
.my-table th {
  border: 1px solid #ddd;
  padding: 8px;
  text-align: left;
}

.my-table th {
  background-color: #f2f2f2;
}
</style>
